home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Updates / HD-Installer / jst_dev / sources / src / loaders / JSTExeHD / ECS_HC_1Fhd.asm < prev    next >
Assembly Source File  |  2000-04-12  |  1KB  |  92 lines

  1. ; *** OSEmu 1meg chip, no fast
  2. ; *** Written by Jean-François Fabre 1999
  3.  
  4.  
  5.     include    "syslibs.i"
  6.     include    "jst.i"
  7.  
  8.     HD_PARAMS    "",0,0
  9.  
  10. MEM_SIZE = $80000
  11.  
  12. loader:
  13.     move.l    #$100000,D0
  14.     JSRABS    AllocExtMem
  15.  
  16.     Mac_printf    "Generic 512K chip/1Meg fast/ECS OSEmu HD Loader"
  17.     Mac_printf    "Coded by Jean-François Fabre © 1999"
  18.  
  19.     JSRABS    UseHarryOSEmu
  20.  
  21.     JSRGEN    GetUserData
  22.     tst.l    (A0)
  23.     beq    UDErr
  24.     move.l    A0,D0
  25.     lea    MAINFILE(pc),A0
  26.     move.l    A0,D1
  27.     JSRGEN    StrcpyAsm
  28.  
  29.     TESTFILE    MAINFILE
  30.     tst.l    d0
  31.     bne    FileErr
  32.  
  33.     JSRABS    LoadFiles
  34.  
  35.     moveq.l    #0,D0
  36.     move.l    #CACRF_CopyBack,D1
  37.     JSRABS    Degrade
  38.  
  39.     GO_SUPERVISOR
  40.     SAVE_OSDATA    MEM_SIZE,#$5D
  41.  
  42.     MOVE.L    $4.W,A6            ;OPEN DOSLIB FOR USE (THE EMU
  43.  
  44.     ; **** boot stuff and patch
  45.  
  46.     MOVE.L    $4.W,A6            ;OPEN DOSLIB FOR USE (THE EMU
  47.     MOVEQ.L    #0,D0            ;PROVIDES THE FUNCTIONS)
  48.     LEA    DOSNAM(PC),A1
  49.     JSRLIB    OpenLibrary(A6)
  50.     LEA.L    DOSP(PC),a4
  51.     MOVE.L    d0,(a4)
  52.     MOVE.L    D0,A6
  53.  
  54.     LEA.L    MAINFILE(PC),A0        ;LOAD MAIN GAME
  55.     MOVE.L    A0,D1
  56.     JSRLIB    LoadSeg
  57.                     ;NO NEED TO STORE POINTER FOR LATER USE
  58.     LSL.L    #2,D0
  59.     MOVE.L    D0,A1
  60.     ADDQ.L    #4,A1
  61.  
  62.     cmp.l    #0,A1
  63.     beq    LoadsegErr
  64.  
  65.     SUB.L    A0,A0
  66.     MOVEQ.L    #0,D0        ; no pointer on argumentline
  67.  
  68.     
  69.     jsr    (A1)
  70.  
  71. LoadsegErr
  72.     JSRGEN    InGameExit
  73. FileErr:
  74.     Mac_printf    "File ",f
  75.     lea    MAINFILE(pc),A1
  76.     JSRABS    Display
  77.     Mac_printf     " missing!"
  78.     JSRABS    CloseAll
  79.  
  80. UDErr:
  81.     Mac_printf    "Executable program name must be passed in USERDATA"
  82.     JSRABS    CloseAll
  83.  
  84. DOSP:
  85.     dc.l    0
  86. DOSNAM:
  87.     dc.b    "dos.library",0
  88. MAINFILE:
  89.     blk.b    256,0
  90.  
  91.  
  92.